package demo4;

/**
 * 子数组系列
 *      最长湍流子数组
 */
public class test6 {
    public int maxTurbulenceSize(int[] arr) {
        // 创建dp表
        int n = arr.length;
        int[] f = new int[n];
        int[] g = new int[n];
        // 初始化
        for(int i = 0; i < n; i++){
            f[i] = g[i] = 1;
        }
        int ret = 1;
        for(int i = 1; i < n; i++){
            if(arr[i] > arr[i-1]){
                f[i] = g[i-1]+1;
            } else if(arr[i] < arr[i-1]){
                g[i] = f[i-1]+1;
            }
            ret = Math.max(ret, Math.max(f[i], g[i]));
        }
        return ret;
    }
}
